// #include <sys/types.h>
// #include <sys/ipc.h>
// #include <sys/msg.h>

// int main()
// {
    
// }

//找多少信号不能被自定义捕捉
// #include <iostream>
// #include <signal.h>

// void handle(int sig)
// {
//   std::cout<<"收到了一个信号"<<sig<<std::endl;
// }

// int main()
// {
//   signal(SIGINT,handle);
//   int cnt=0;
//   while(true)
//   {
//     std::cout<<"hello world,"<<cnt++<<std::endl;
//     sleep(1);
//   }
//   return 0;
// }
// int main()
// {
//   int *p=nullptr;
//   *p=100;
//   return 0;
// }

//找多少信号不能被自定义捕捉
#include <iostream>
#include <signal.h>

void handle(int sig)
{
  std::cout<<"收到了一个信号"<<sig<<std::endl;
  // exit(13);
  
}

int main()
{
  for(int i=1;i<32;i++)
  {
    //信号9和信号19不可以被捕捉
    signal(i,handle);
    if(i==9||i==19)continue;
    if(raise(i)==0)std::cout<<"信号"<<i<<"可以被捕捉"<<std::endl;
    else std::cout<<"信号"<<i<<"不可以被捕捉"<<std::endl;
    if(i==31)exit(13);
  }
  int cnt=0;
  while(true)
  {
    std::cout<<"hello world,"<<cnt++<<",进程id:"<<getpid()<<std::endl;
    // sleep(1);
  }
  return 0;
}
